package com.ny.dao;
import com.ny.Users;
import com.ny.demo523.SqlConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//操作数据：一个功能一个方法一条SQL语句
public class UserDao {
    // 当创建对象的时候就自动连接数据库
    //1.连接数据库
    Connection connection = SqlConnection.getCon();
    public UserDao() throws SQLException, ClassNotFoundException {

    }
    //        1.添加用户:1.连接数据库 2.编写sql语句 3.执行sql语句 4.接收执行sql语句的结果
        public int addUser(String username,String password) throws SQLException, ClassNotFoundException {
//        2.编写sql语句
            String sql = "insert into users(username,password) values(?,?)";
//        3.执行sql语句
            PreparedStatement preparedStatement = connection.prepareStatement(sql);// 预编译sql语句
//        给问号进行赋值
            preparedStatement.setString(1,username);
            preparedStatement.setString(2,password);
            return preparedStatement.executeUpdate();
            }
//        2.登录查询:1.连接数据库 2.编写sql语句 3.执行sql语句 4.接收执行sql语句的结果
            public Users login(String username,String password) throws SQLException, ClassNotFoundException {
                Users users = null;
                int i  = 1;

                //  2.编写sql语句
                String sql = "select * from users where username=? and password=?";
//        4.执行sql语句
                PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        给问号赋值。1表示第一个问号，输入的用户名给第一个问好。2表示第二个问号，输入的密码给第二个问号。
                preparedStatement.setString(1,username);
                preparedStatement.setString(2,password);
//        5.接收执行sql语句的结果,查询的结果是放在resultSet中的.
                ResultSet resultSet = preparedStatement.executeQuery();
//          6.把查询的结果resultSet交给Users,通过set方法把查询出来的结果交给users对象
               if (resultSet.next()){
                    users = new Users();
                   users.setId(resultSet.getInt("id"));
                   users.setUsername(resultSet.getString("username"));
                   users.setPassword(resultSet.getString("password"));
               }
                return  users;
            }
//        3.删除
        public int deleteUsers(int id) throws SQLException, ClassNotFoundException {
           // 3.编写sql语句
            String sql = "delete  from users where id = ?";
//        4.执行sql语句
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        给问号赋值。1表示第一个问号，输入的用户名给第一个问好。2表示第二个问号，输入的密码给第二个问号。
            preparedStatement.setInt(1,id);
//        5.执行删除语句

            return preparedStatement.executeUpdate();
        }
//        4.修改
}
